package com.dragon.modules.yuegou.mapper.order;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dragon.modules.yuegou.entity.order.OrderItemEntity;
import com.dragon.modules.yuegou.enums.order.OrderStatus;
import com.dragon.modules.yuegou.model.order.OrderItem;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 订单物品 Mapper接口
 *
 * @author pbuilder generated
 * @date 2019-04-03 13:57:50
 * @version 2.0
 */
@Component("ordOrderItemMapper")
public interface OrderItemMapper extends BaseMapper<OrderItemEntity> {

	/**
	 * 统计SKU销售量（除关闭状态的所有订单）
	 * 
	 * @param skuIds  SKU列表
	 * @param buyerId 购买人ID
	 * @return 销售量列表（含skuId、num）
	 */
	List<OrderItem> countSkuSaleNum(@Param("skuIds") List<String> skuIds, @Param("buyerId") String buyerId);
	
	/**
	 * 统计SPU销售量（除关闭状态的所有订单）
	 * 
	 * @param spuIds  SPU列表
	 * @param buyerId 购买人ID
	 * @return 销售量列表（含spuId、num）
	 */
	List<OrderItem> countSpuSaleNum(@Param("spuIds") List<String> spuIds, @Param("buyerId") String buyerId);
	
	/**
	 * 查询会员套餐列表
	 *
	 * @param busdId 商圈id
	 * @param memberId 会员id
	 * @return 套餐列表
	 */
	List<OrderItem> myPackageList(IPage page, String busdId, String memberId, OrderStatus status);

	/**
	 * 查询待使用商品列表
	 * @param page 分页信息
	 * @return 待使用商品列表
	 * */
	IPage<OrderItem> pendingList(IPage<Object> page, @Param("buyerId") String buyerId);

}
